Skip to content

index-builder: serve health check on --index-builder-grpc-listen-addr - #289

Open
YaroShkvorets wants to merge 2 commits into
streamingfast:developfrom
YaroShkvorets:fix/index-builder-grpc-health
Open

YaroShkvorets wants to merge 2 commits into
streamingfast:developfrom
YaroShkvorets:fix/index-builder-grpc-health

Conversation

@YaroShkvorets

@YaroShkvorets YaroShkvorets commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

The index builder never listened on --index-builder-grpc-listen-addr. Its health handlers were never registered on a server, and App.Run only created a client to that address for IsReady(). Liveness probes on that port got connection refused, and IsReady() was always false.

This starts a dgrpc server on that address with WithHealthCheck(HealthCheckOverGRPC|HealthCheckOverHTTP, …), which serves both gRPC health and HTTP /healthz. It reports ready except during the graceful-shutdown delay. The unused hand-written handlers in index-builder/healthz.go are removed.

🤖 Generated with Claude Code

The index builder never listened on --index-builder-grpc-listen-addr: its
health handlers were never registered on a server, and App.Run only
dialed that address for IsReady(). Start the gRPC server and register the
health service, as the merger does.

Add --index-builder-http-healthz-addr (default :10019), the same HTTP
/healthz the merger and relayer expose since v1.14.4.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

@maoueh maoueh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's use the same endpoint for the /healthz location, we never created dedicated flags, so let's serve under index-builder-grpc-listen-addr directly.

Also, dgrpc has support to configure the grpc server with health check so it can be configured to it.

Per review: drop the dedicated --index-builder-http-healthz-addr and let
dgrpc's WithHealthCheck serve both gRPC health and HTTP /healthz on
--index-builder-grpc-listen-addr. Removes the unused hand-written health
handlers and keeps NewIndexBuilder's signature unchanged.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@YaroShkvorets YaroShkvorets changed the title index-builder: serve gRPC health and HTTP /healthz index-builder: serve health check on --index-builder-grpc-listen-addr Oct 9, 2026
@YaroShkvorets

YaroShkvorets commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor Author

Changed. Using the same pattern with IsPendingShutdown as in merger

@YaroShkvorets
YaroShkvorets requested a review from maoueh October 9, 2026 22:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants